package Actiontwotiktokstruct

type LiveCommentItem struct {
	MsgId     string `json:"msg_id"`
	SecOpenid string `json:"sec_openid"`
	Content   string `json:"content"`
	AvatarUrl string `json:"avatar_url"`
	Nickname  string `json:"nickname"`
	Timestamp int64  `json:"timestamp"`
}

type LiveGiftItem struct {
	MsgId        string `json:"msg_id"`
	SecOpenid    string `json:"sec_openid"`
	SecGiftId    string `json:"sec_gift_id"`
	GiftNum      int    `json:"gift_num"`
	GiftValue    int    `json:"gift_value"`
	Test         bool   `json:"test"`
	AvatarUrl    string `json:"avatar_url"`
	Nickname     string `json:"nickname"`
	Timestamp    int64  `json:"timestamp"`
	NeedAddScore int64  `json:"need_add_score"`
	Source       int64  `json:"source"` //数据来源，0是正常数据。1是管理后台补发数据
}

type LiveLikeItem struct {
	MsgId     string `json:"msg_id"`
	SecOpenid string `json:"sec_openid"`
	LikeNum   int64  `json:"like_num"`
	AvatarUrl string `json:"avatar_url"`
	Nickname  string `json:"nickname"`
	Timestamp int64  `json:"timestamp"`
}

type LiveFansclubItem struct {
	MsgId              string `json:"msg_id"`
	SecOpenid          string `json:"sec_openid"`
	AvatarUrl          string `json:"avatar_url"`
	Nickname           string `json:"nickname"`
	Timestamp          int64  `json:"timestamp"`
	FansclubReasonType int    `json:"fansclub_reason_type"` // 粉丝团消息类型：1-升级，2-加团
	FansclubLevel      int    `json:"fansclub_level"`       // 用户粉丝团等级，加团消息下默认传1
}

type ListStruct struct {
	Timestamp string `json:"timestamp"`
	HouseId   string `json:"houseId"`
	MsgType   string `json:"msgType"`
	BodyStr   string `json:"bodyStr"`
}

type ListStructCommon struct {
	Timestamp int64  `json:"timestamp"`
	HouseId   string `json:"houseId"`
	MsgType   string `json:"msgType"`
	BodyStr   string `json:"bodyStr"`
	MsgId     string `json:"msg_id"`
	SecOpenid string `json:"sec_openid"`
	Content   string `json:"content"`
	AvatarUrl string `json:"avatar_url"`
	Nickname  string `json:"nickname"`
	SecGiftId string `json:"sec_gift_id"`
	GiftNum   int    `json:"gift_num"`
	GiftValue int    `json:"gift_value"`
	Test      bool   `json:"test"`
	LikeNum   int64  `json:"like_num"`
}

type EndMatchCpItem struct {
	HostNickname     string `json:"host_nickname"`       //主播昵称
	HostNo           string `json:"host_no"`             //主播编号
	HouseId          string `json:"house_id"`            //直播间id
	HouseCreateAt    int64  `json:"house_create_at"`     //直播间id
	MatchId          string `json:"match_id"`            //局id
	MatchCreateAt    int64  `json:"match_create_at"`     //直播间id
	ZSetKey          string `json:"z_set_key"`           //主动at人的id
	HashDetailMapKey string `json:"hash_detail_map_key"` //组合详情
	BeginTime        string `json:"begin_time"`          //区间开始时间
	EndTime          string `json:"end_time"`            //区间结束时间
	UidMin           string `json:"uid_min"`             //主动at人的id
	UidMax           string `json:"uid_max"`             //主动at人的id
	MinScore         int64  `json:"min_score"`           //积分
	MaxScore         int64  `json:"max_score"`           //积分
	TotalScore       int64  `json:"total_score"`         //总积分
}

// FullServerSpeaker 全服喇叭
//type FullServerSpeaker struct {
//	FullType        int32  `json:"full_type"`         //0:单人10个神秘空投，全服特效;1:结婚模式组成cp神秘空投;2:离婚全服喇叭
//	UidMin          string `json:"uid_min"`           //送礼人
//	UserNameMin     string `json:"user_name_min"`     //送礼人
//	UserAvatarMin   string `json:"user_avatar_min"`   //用户头像
//	UidMax          string `json:"uid_max"`           //蹭礼物的
//	UserNameMax     string `json:"user_name_max"`     //蹭礼物的
//	UserAvatarMax   string `json:"user_avatar_max"`   //蹭礼物的
//	PropsNo         int64  `json:"props_no"`          //
//	PropsExpireTime int64  `json:"props_expire_time"` //
//	PropsNumber     int32  `json:"props_number"`      //
//	DrawType        int32  `json:"draw_type"`         // 1.道具 2.星光值
//	Score           int64  `json:"score"`             //星光值分数
//}

type PackageDetailRedis struct {
	PropType      int   `json:"prop_type"`      //一级类型  1:服饰;2:道具;3:工具
	ElementType   int   `json:"element_type"`   //二级类型
	ElementNo     int64 `json:"element_no"`     //服饰或者道具编号
	ElementNumber int64 `json:"element_number"` //服饰默认为1，永远为1，道具叠加数量
	ExpiredTime   int64 `json:"expired_time"`   //服饰过期时间，不存道具过期时间
	ObserveId     int64 `json:"observe_id"`     //活动id，主要给碎片道具区分用的
}

type LotteryPackageDetail struct {
	PropType      int    `json:"prop_type"`      //一级类型  1:服饰;2:道具;3:工具
	ElementType   int    `json:"element_type"`   //二级类型
	ElementNo     int64  `json:"element_no"`     //服饰或者道具编号
	ElementNumber int64  `json:"element_number"` //服饰默认为1，永远为1，道具叠加数量
	ExpiredTime   int64  `json:"expired_time"`   //服饰过期时间，不存道具过期时间
	ObserveId     int64  `json:"observe_id"`     //活动id，主要给碎片道具区分用的
	LotteryId     string `json:"lotteryId"`
}

type UserPackageListHasChangeItemRedis struct {
	UserId      string `json:"user_id"`      //散件编号
	PropNo      int64  `json:"prop_no"`      //散件编号
	PropNumber  int64  `json:"prop_number"`  //散件数量
	ExpiredTime int64  `json:"expired_time"` //散件过期时间
	Source      int64  `json:"source"`       //变化来源
}

// HouseLotteryObserveChange 直播间活动变化通知
type HouseLotteryObserveChange struct {
	ObserveId int64 `json:"observe_id"` //活动id
}

type ElementNoObject struct {
	UserId   string                `json:"user_id"`
	SendTime int64                 `json:"send_time"` //发放时间
	Children []ElementNoItemObject `json:"children"`  //概率
}
type ElementNoItemObject struct {
	TmpStoreUserId string `json:"tmp_store_user_id"` //临时存放用户id
	ElementNo      int64  `json:"element_no"`        //散件编号
	SendTime       int64  `json:"send_time"`         //发放时间
	TimeNumber     int    `json:"time_number"`       //发放多久 小时为单位
	SendNumber     int    `json:"send_number"`       //发放数量
	Weight         int64  `json:"weight"`            //权重
}

type SpecialEffectsListObject struct {
	GiftId       int `json:"gift_id"`        //礼物客户端id
	GiftCount    int `json:"gift_count"`     //礼物数量
	Number       int `json:"number"`         //几个特效
	Source       int `json:"source"`         //1.客户端推的；2:管理后台补的
	NeedAddScore int `json:"need_add_score"` //是否需要补积分   1：需要补积分; 0:不需要补积分
}

type UserBaseInfo struct {
	SecOpenid string `json:"sec_openid"`
	AvatarUrl string `json:"avatar_url"`
	Nickname  string `json:"nickname"`
}

// FullServerSpeaker 全服喇叭
type FullServerSpeaker struct {
	FullType                                int32                                   `json:"full_type"`                               //1全服喇叭;
	UserIdLeft                              string                                  `json:"user_id_left"`                            //送礼人
	UserNameLeft                            string                                  `json:"user_name_left"`                          //送礼人
	UserAvatarLeft                          string                                  `json:"user_avatar_left"`                        //用户头像
	UserIdRight                             string                                  `json:"user_id_right"`                           //蹭礼物的
	UserNameRight                           string                                  `json:"user_name_right"`                         //蹭礼物的
	UserAvatarRight                         string                                  `json:"user_avatar_right"`                       //蹭礼物的
	PropsNo                                 int64                                   `json:"props_no"`                                //
	PropsExpireTime                         int64                                   `json:"props_expire_time"`                       //
	PropsNumber                             int32                                   `json:"props_number"`                            //
	Relationship                            int64                                   `json:"relation_ship"`                           //关系ship;关系枚举参考上面的;根据枚举值进行判断，比如收到是0:代表删除关系，客户端要把这组关系删除;收到1，代表新建朋友关系，客户端要新加一组关系到列表;2:代表把关系变为同学关系
	ExpressType                             int32                                   `json:"express_type"`                            //默认2，全服公告
	ExpressId                               int32                                   `json:"express_id"`                              //公告id
	TopEnd                                  PushTopNoOne                            `json:"top_end"`                                 //头榜
	SendTime                                int64                                   `json:"send_time"`                               //发送时间
	HouseId                                 string                                  `json:"house_id"`                                //游戏直播间id
	GiftBatch66DoughnutsLastTimeList        GiftBatch66DoughnutsLastTimeList        `json:"giftBatch66DoughnutsLastTime"`            //头榜
	BeautyContestTopNotice                  BeautyContestTopNotice                  `json:"beautyContestTopNotice"`                  //头榜
	DayCpCurrentTopNotice                   DayCpCurrentTopNotice                   `json:"dayCpCurrentTopNotice"`                   //头榜
	BirthdayNotice                          BirthdayNotice                          `json:"birthdayNotice"`                          //生日祝福
	BeautyContestHelpAllRoomNotice          BeautyContestHelpAllRoomNotice          `json:"beautyContestHelpAllRoomNotice"`          //选美助力
	NoticeFullServiceFriendFelicitateChange NoticeFullServiceFriendFelicitateChange `json:"noticeFullServiceFriendFelicitateChange"` //结婚祝福
	NoticeFullServiceTopEnterRoom           NoticeFullServiceTopEnterRoom           `json:"noticeFullServiceTopEnterRoom"`           //大佬入场
	NoticeFullUserInfoSecretPeople          NoticeFullUserInfoSecretPeople          `json:"notice_full_user_info_secret_people"`     //恭贺XXXX成为一级神秘客
	NoticeFullServiceHelperSecretPeople     NoticeFullServiceHelperSecretPeople     `json:"notice_full_service_helper_secret_people"`
	NoticeFullServiceBecomeSecretPeople     NoticeFullServiceBecomeSecretPeople     `json:"notice_full_service_become_secret_people"`
	NoticeFullServiceBlindBox               NoticeFullServiceBlindBox               `json:"notice_full_service_become_secret_people"`
}
type NoticeFullServiceBlindBox struct {
	UserId        string `json:"user_id"`         //祝福人
	Avatar        string `json:"avatar"`          //
	Nickname      string `json:"nickname"`        //
	ElementNo     int64  `json:"element_no"`      //道具编号
	IsCurrentRoom int32  `json:"is_current_room"` //
}

// 恭贺XXXX成为一级神秘客
type NoticeFullServiceBecomeSecretPeople struct {
	UserId            string `json:"user_id"`             //祝福人
	SecretPersonLevel int64  `json:"secret_person_level"` //神秘人等级
	Avatar            string `json:"avatar"`              //
	Nickname          string `json:"nickname"`            //
	IsCurrentRoom     int32  //是否是本直播间
}

// 神秘人助力全服飘屏幕 （类似于选美）
type NoticeFullServiceHelperSecretPeople struct {
	UserId               string `json:"user_id"`                 //祝福人
	Avatar               string `json:"avatar"`                  //
	Nickname             string `json:"nickname"`                //
	SendGiftUserId       string `json:"send_gift_user_id"`       //刷礼物人的用户id
	SendGiftUserAvatar   string `json:"send_gift_user_avatar"`   //刷礼物人的用户id
	SendGiftUserNickname string `json:"send_gift_user_nickname"` //刷礼物人的用户id
	GiftNo               int64  `json:"gift_no"`                 //礼物编号  仙女棒10
	GiftNumber           int64  `json:"gift_number"`             //礼物数量
	IsCurrentRoom        int32  `json:"is_current_room"`         //是否是本直播间
}

type NoticeFullUserInfoSecretPeople struct {
	Uid      string `json:"uid"`      //用户id
	Level    int64  `json:"level"`    //神秘人等级
	EndTime  int64  `json:"end_time"` //神秘人过期时间
	Status   int64  `json:"status"`   //用户神秘人状态，0:关闭；1:开启
	Nickname string `json:"nickname"` //神秘人昵称
}

type NoticeFullServiceTopEnterRoom struct {
	TopType       int32  //祝贺类型  1:上周榜第一;2:本周榜第一;3:昨日榜单第一;4:今日榜第一;5:上期选美世界榜第一;6:本期选美世界榜第一;7:上期区棒第一;8:本期区榜第一
	UserId        string //祝福人
	Avatar        string //
	Nickname      string //
	IsCurrentRoom int32  //是否是本直播间
}

type NoticeFullServiceFriendFelicitateChange struct {
	FelicitateType       int32  //祝贺类型  1:祝贺xxx和yyyy成为密友;2:祝贺xxx和yyyy成为挚友
	UserId               string //祝福人
	Avatar               string //
	Nickname             string //
	UserIdOther          string //祝福人
	AvatarOther          string //
	NicknameOther        string //
	SendGiftUserId       string //刷礼物人的用户id
	SendGiftUserAvatar   string //刷礼物人的用户id
	SendGiftUserNickname string //刷礼物人的用户id
	GiftNo               int64  //礼物编号  仙女棒10
	GiftNumber           int64  //礼物数量
	IsCurrentRoom        int32  //是否是本直播间
}

type BeautyContestHelpAllRoomNotice struct {
	UserId               string //祝福人
	Avatar               string //
	Nickname             string //
	SendGiftUserId       string //刷礼物人的用户id
	SendGiftUserAvatar   string //刷礼物人的用户id
	SendGiftUserNickname string //刷礼物人的用户id
	Score                int64  //选美当前魅力值，每个礼物的魅力值，
	GiftNo               int64  //礼物编号  仙女棒10
	GiftNumber           int64  //礼物数量
	IsCurrentRoom        int32  //选美全服广播
}

type BirthdayNotice struct {
	UserId        string `json:"user_id"` //过生日的用户id
	Avatar        string `json:"avatar"`  //过生日的头像
	Nickname      string `json:"nickname"`
	TopType       int32  `json:"topType"`        //祝福类型  1:系统祝福 2:朋友祝福
	UserIdOther   string `json:"user_id_other"`  //祝福人的用户id
	AvatarOther   string `json:"avatar_other"`   //祝福人的头像
	NicknameOther string `json:"nickname_other"` //祝福人的昵称
	IsCurrentRoom int32  //选美全服广播
}

type BeautyContestTopNotice struct {
	UserId   string `json:"user_id"` //cp积分
	Avatar   string `json:"avatar"`  //cp的排名
	Nickname string `json:"nickname"`
	Score    int64  `json:"score"`   //1:小时榜 2:日榜 3:周榜
	TopType  int32  `json:"topType"` //1:当天 2:本期
}
type DayCpCurrentTopNotice struct {
	CpUser  []TopUser `json:"cpUser"`
	TopType int32     `json:"topType"` //1:小时榜 2:日榜 3:周榜
}
type DayCpCurrentTopUser struct {
	UserId   string `json:"user_id"` //cp积分
	Avatar   string `json:"avatar"`  //cp的排名
	Nickname string `json:"nickname"`
}

type PushTopNoOne struct {
	SingleUser TopUser   `json:"singleUser"`
	CpUser     []TopUser `json:"cpUser"`
	TopType    int32     `json:"topType"` //1:小时榜 2:日榜 3:周榜
}
type TopUser struct {
	UserId   string `json:"user_id"` //cp积分
	Avatar   string `json:"avatar"`  //cp的排名
	Nickname string `json:"nickname"`
}

// GiftBatch66DoughnutsLastTimeList 数据处理
type GiftBatch66DoughnutsLastTimeList struct {
	List []GiftBatch66DoughnutsLastTimeItem `json:"list"`
}
type GiftBatch66DoughnutsLastTimeItem struct {
	UserId   string `json:"user_id"`   //cp积分
	LastTime int64  `json:"last_time"` //上次时间
}
